package validation;

import controleur.Horloge;
import controleur.Simulateur;
import modele.entites.*;
import org.junit.After;
import org.junit.Assert;
import org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import vues.IHM;

import java.io.File;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

/**
 * <table summary="" style="border: 1px solid black;border-collapse: collapse;">
 * <tr style="border: 1px solid black;border-collapse: collapse;">
 * <th style="border: 1px solid black;border-collapse: collapse;">Sujet</th>
 * <th style="border: 1px solid black;border-collapse: collapse;">Variables utilis�es</th>
 * <th style="border: 1px solid black;border-collapse: collapse;">Attendu</th>
 * <th style="border: 1px solid black;border-collapse: collapse;">Resultat</th>
 * <th style="border: 1px solid black;border-collapse: collapse;">Pass/Fail</th>
 * </tr>
 * <tr style="border: 1px solid black;border-collapse: collapse;">
 * <td style="border: 1px solid black;border-collapse: collapse;">Sauvegarder la simulation créer un fichier .simulation qui pourra être recharger par la suite</td>
 * <td style="border: 1px solid black;border-collapse: collapse;">
 * <ul>
 * <li>Simulateur : s</li>
 * <li>Bot : b</li>
 * </ul>
 * </td>
 * <td style="border: 1px solid black;border-collapse: collapse;">
 * <ul>
 * <li>Simulation Initiale : un fichier TEST_SIMULATION-0s.simulation dans le répertoire ./TEST_SIMULATION/</li>
 * <li>Simulation en cours de route : un fichier TEST_SIMULATION-5s.simulation dans le répertoire ./TEST_SIMULATION/</li>
 * </ul>
 * </td>
 * <td style="border: 1px solid black;border-collapse: collapse;">
 * <ul>
 * <li>Simulation Initiale : le fichier TEST_SIMULATION-0s.simulation est trouvé</li>
 * <li>Simulation en cours de route : le fichier TEST_SIMULATION-5s.simulation est trouvé</li>
 * </ul>
 * </td>
 * <td style="border: 1px solid black;border-collapse: collapse; background-color:green;"></td><!-- green || red -->
 * </tr>
 * </table>
 *
 */
public class UC3_Sauvegarder_la_simulation {

    private Simulateur s;
    private IHM i;

    @Before
    public void setUp() throws Exception {
        this.s = new Simulateur();
     //   this.i = new IHM(new Horloge(s));
        s.setIhm(i);
    }

    @After
    public void tearDown() throws Exception {
        this.s = null;
    }

    @Test
    public void test_Sauvegarder_la_simulation() {
        s.setNomSimulateur("TEST_SIMULATION");
        s.setTempsSimulateur("0");
       // i.refresh();

    //    this.i.getHorloge().getSimulateur().save();
        File f_init = new File("./simulations/TEST_SIMULATION/TEST_SIMULATION-0s.simulation");
        //System.out.println(f_init.exists());
        assertTrue(f_init.exists());


        s.setTempsSimulateur("5");
      //  i.refresh();
     //   this.i.getHorloge().getSimulateur().save();
        File f_cinq_second = new File("./simulations/TEST_SIMULATION/TEST_SIMULATION-5s.simulation");
        assertTrue(f_cinq_second.exists());

    }
}
